﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
namespace EMC.VISITOR.Application;

    /// <summary>
    /// 訪客記錄输出参数
    /// </summary>
    public partial class VisitLogDto
    {
        /// <summary>
        /// 部門
        /// </summary>
        public string DeptIdName { get; set; }
        
        /// <summary>
        /// 被訪人姓名
        /// </summary>
        public string LeaderIdRealName { get; set; }
        
        /// <summary>
        /// 創建人
        /// </summary>
        public string CreateUserIdRealName { get; set; }
        
        /// <summary>
        /// 修改人
        /// </summary>
        public string UpdateUserIdRealName { get; set; }
        
        /// <summary>
        /// Id
        /// </summary>
        public long Id { get; set; }
        
        /// <summary>
        /// 訪客類型
        /// </summary>
        public VisitorType? Type { get; set; }
        
        /// <summary>
        /// 訪客手機
        /// </summary>
        public string? Vphone { get; set; }
        
        /// <summary>
        /// 訪客姓名
        /// </summary>
        public string Visitor { get; set; }
        
        /// <summary>
        /// 訪客性別
        /// </summary>
        public SexType? Sex { get; set; }
        
        /// <summary>
        /// 訪客身份證
        /// </summary>
        public string? IdCard { get; set; }
        
        /// <summary>
        /// 預約來訪時間
        /// </summary>
        public DateTime? VisitTime { get; set; }
        
        /// <summary>
        /// 預約結束時間
        /// </summary>
        public DateTime? VendTime { get; set; }
        
        /// <summary>
        /// 出入門禁點
        /// </summary>
        public string? VisitSite { get; set; }
        
        /// <summary>
        /// 來訪單位
        /// </summary>
        public string? Vcompany { get; set; }
        
        /// <summary>
        /// 訪客人數
        /// </summary>
        public long? Vnum { get; set; }
        
        /// <summary>
        /// 拜訪事由
        /// </summary>
        public string? Vreason { get; set; }
        
        /// <summary>
        /// 人臉頭像
        /// </summary>
        public string? Vimg { get; set; }
        
        /// <summary>
        /// 作業區域
        /// </summary>
        public string? VisitArea { get; set; }
        
        /// <summary>
        /// 證件照片
        /// </summary>
        public string? DocImg { get; set; }
        
        /// <summary>
        /// 車牌號
        /// </summary>
        public string? CarNo { get; set; }
        
        /// <summary>
        /// 物品信息
        /// </summary>
        public string? GoodsInfo { get; set; }
        
        /// <summary>
        /// 部門
        /// </summary>
        public long? DeptId { get; set; }
        
        /// <summary>
        /// 被訪人姓名
        /// </summary>
        public long? LeaderId { get; set; }
        
        /// <summary>
        /// 被訪人姓名
        /// </summary>
        public string? Staff { get; set; }
        
        /// <summary>
        /// 被訪人手機
        /// </summary>
        public string? Iphone { get; set; }
        
        /// <summary>
        /// 狀態
        /// </summary>
        public ProcessStatus? Status { get; set; }
        
        /// <summary>
        /// 創建時間
        /// </summary>
        public DateTime? CreateTime { get; set; }
        
        /// <summary>
        /// 更新時間
        /// </summary>
        public DateTime? UpdateTime { get; set; }
        
        /// <summary>
        /// 創建人
        /// </summary>
        public long? CreateUserId { get; set; }
        
        /// <summary>
        /// 修改人
        /// </summary>
        public long? UpdateUserId { get; set; }
        
    }

    
  /// <summary>
    /// 訪客記錄导出导入
    /// </summary>
    [ExcelExporter(Name = "訪客記錄", TableStyle = OfficeOpenXml.Table.TableStyles.None, AutoFitAllColumn = true,AutoCenter =true)]
    [ExcelImporter( IsLabelingError = true,SheetName ="訪客記錄")]
    public partial class ExportImportVisitLogDto
    {
        /// <summary>
        /// 訪客類型
        /// </summary>
         [ExporterHeader(DisplayName = "訪客類型", IsBold = true)]
        [ImporterHeader(Name = "訪客類型")]
         [Required(ErrorMessage ="訪客類型为必填字段！")]
        public virtual VisitorType? Type { get; set; }
        
        /// <summary>
        /// 訪客手機
        /// </summary>
        [ExporterHeader(DisplayName = "訪客手機", IsBold = true)]
        [ImporterHeader(Name = "訪客手機")]
        public virtual string? Vphone { get; set; }
        
        /// <summary>
        /// 訪客姓名
        /// </summary>
        [ExporterHeader(DisplayName = "訪客姓名", IsBold = true)]
        [ImporterHeader(Name = "訪客姓名")]
         [Required(ErrorMessage ="訪客姓名为必填字段！")]
        public virtual string? Visitor { get; set; }
        
        /// <summary>
        /// 訪客性別
        /// </summary>
         [ExporterHeader(DisplayName = "訪客性別", IsBold = true)]
        [ImporterHeader(Name = "訪客性別")]
        public virtual SexType? Sex { get; set; }
        
        /// <summary>
        /// 訪客身份證
        /// </summary>
        [ExporterHeader(DisplayName = "訪客身份證", IsBold = true)]
        [ImporterHeader(Name = "訪客身份證")]
        public virtual string? IdCard { get; set; }

    [ExporterHeader(DisplayName = "证件照片", IsBold = true)]
    [ImporterHeader(Name = "证件照片")]
    public virtual string? IdCardImg { get; set; }

        /// <summary>
        /// 預約來訪時間
        /// </summary>
        [ExporterHeader(DisplayName = "預約來訪時間", IsBold = true)]
        [ImporterHeader(Name = "預約來訪時間")]
        public virtual DateTime? VisitTime { get; set; }
        
        /// <summary>
        /// 預約結束時間
        /// </summary>
        [ExporterHeader(DisplayName = "預約結束時間", IsBold = true)]
        [ImporterHeader(Name = "預約結束時間")]
        public virtual DateTime? VendTime { get; set; }
        
        /// <summary>
        /// 出入門禁點
        /// </summary>
        [ExporterHeader(DisplayName = "出入門禁點", IsBold = true)]
        [ImporterHeader(Name = "出入門禁點")]
        public virtual string? VisitSite { get; set; }
        
        /// <summary>
        /// 來訪單位
        /// </summary>
        [ExporterHeader(DisplayName = "來訪單位", IsBold = true)]
        [ImporterHeader(Name = "來訪單位")]
        public virtual string? Vcompany { get; set; }
        
        /// <summary>
        /// 訪客人數
        /// </summary>
        [ExporterHeader(DisplayName = "訪客人數", IsBold = true)]
        [ImporterHeader(Name = "訪客人數")]
        public virtual long? Vnum { get; set; }
        
        /// <summary>
        /// 拜訪事由
        /// </summary>
        [ExporterHeader(DisplayName = "拜訪事由", IsBold = true,Width =20)]
        [ImporterHeader(Name = "拜訪事由")]
        public virtual string? Vreason { get; set; }
        
        /// <summary>
        /// 人臉頭像
        /// </summary>
        [ExporterHeader(DisplayName = "人臉頭像", IsBold = true)]
        [ImporterHeader(Name = "人臉頭像")]
        public virtual string? Vimg { get; set; }
        
        /// <summary>
        /// 作業區域
        /// </summary>
        [ExporterHeader(DisplayName = "作業區域", IsBold = true)]
        [ImporterHeader(Name = "作業區域")]
        public virtual string? VisitArea { get; set; }
        
        /// <summary>
        /// 證件照片
        /// </summary>
        [ExporterHeader(DisplayName = "其它證件照片", IsBold = true, Width = 20)]
        [ImporterHeader(Name = "其它證件照片")]
        public virtual string? DocImg { get; set; }
        
        /// <summary>
        /// 車牌號
        /// </summary>
        [ExporterHeader(DisplayName = "車牌號", IsBold = true)]
        [ImporterHeader(Name = "車牌號")]
        public virtual string? CarNo { get; set; }
        
        /// <summary>
        /// 物品信息
        /// </summary>
        [ExporterHeader(DisplayName = "物品信息", IsBold = true, Width = 20)]
        [ImporterHeader(Name = "物品信息")]
        public virtual string? GoodsInfo { get; set; }
        
        /// <summary>
        /// 部門
        /// </summary>
        [ExporterHeader(DisplayName = "部門", IsBold = true)]
        [ImporterHeader(Name = "部門")]
        public virtual string DeptIdName { get; set; }
        [ExporterHeader(DisplayName = "部門_标识", IsBold = true)]
        [ImporterHeader(Name = "部門_标识")]
        public virtual long? DeptId { get; set; }
        /// <summary>
        /// 被訪人姓名
        /// </summary>
        [ExporterHeader(DisplayName = "被訪人姓名", IsBold = true)]
        [ImporterHeader(Name = "被訪人姓名")]
        public virtual string LeaderIdRealName { get; set; }
        [ExporterHeader(DisplayName = "被訪人姓名_标识", IsBold = true)]
        [ImporterHeader(Name = "被訪人姓名_标识")]
        public virtual long? LeaderId { get; set; }
        /// <summary>
        /// 被訪人姓名
        /// </summary>
        [ExporterHeader(DisplayName = "被訪人姓名", IsBold = true)]
        [ImporterHeader(Name = "被訪人姓名")]
        public virtual string? Staff { get; set; }
        
        /// <summary>
        /// 被訪人手機
        /// </summary>
        [ExporterHeader(DisplayName = "被訪人手機", IsBold = true, Width = 20)]
        [ImporterHeader(Name = "被訪人手機")]
        public virtual string? Iphone { get; set; }
        
        /// <summary>
        /// 狀態
        /// </summary>
         [ExporterHeader(DisplayName = "狀態", IsBold = true)]
        [ImporterHeader(Name = "狀態")]
        public virtual ProcessStatus? Status { get; set; }

    [ExporterHeader(DisplayName = "定位", IsBold = true)]
    [ImporterHeader(Name = "定位")]
    public virtual string? Position { get; set; }

    [ExporterHeader(DisplayName = "施工签名", IsBold = true)]
    public virtual string haImg { get; set; }

    [ExporterHeader(DisplayName = "最终审批人", IsBold = true)]
    [ImporterHeader(Name = "最终审批人")]
    public virtual string? LastLeaderName { get; set; }

    [ExporterHeader(DisplayName = "门卫放行时间", IsBold = true)]
    [ImporterHeader(Name = "门卫放行时间")]
    public virtual DateTime? WaitToEnterTime { get; set; }

    [ExporterHeader(DisplayName = "创建时间", IsBold = true)]
    [ImporterHeader(Name = "创建时间")]
    public virtual DateTime? CreateTime { get; set; }
    [ExporterHeader(DisplayName = "更新时间", IsBold = true)]
    [ImporterHeader(Name = "更新时间")]
    public virtual DateTime? UpdateTime { get; set; }
}